cs502 assignment 1 complete solution